The invention is directed to an improved approach for designing, testing, and manufacturing integrated circuits.
A semiconductor integrated circuit (IC) has a large number of electronic components, such as transistors, logic gates, diodes, wires, etc., that are fabricated by forming layers of different materials and of different geometric shapes on various regions of a silicon wafer.
Many phases of physical design may be performed with computer aided design (CAD) tools or electronic design automation (EDA) systems. To design an integrated circuit, a designer first creates high level behavior descriptions of the IC device using a high-level hardware design language. An EDA system typically receives the high level behavior descriptions of the IC device and translates this high-level design language into netlists of various levels of abstraction using a computer synthesis process. A netlist describes interconnections of nodes and components on the chip and includes information of circuit primitives such as transistors and diodes, their sizes and interconnections, for example.
An integrated circuit designer may use a set of layout EDA application programs to create a physical integrated circuit design layout from a logical circuit design. The layout EDA application uses geometric shapes of different materials to create the various electrical components on an integrated circuit and to represent electronic and circuit IC components as geometric objects with varying shapes and sizes. After an integrated circuit designer has created an initial integrated circuit layout, the integrated circuit designer then verifies and optimizes the integrated circuit layout using a set of EDA testing and analysis tools. Verification may include, for example, design rule checking to verify compliance with rules established for various IC parameters.
In recent years, many designers of electronic systems have moved to a methodology known as Block Based Design (“BBD”), in which a system is designed by integrating a plurality of existing component design blocks. These pre-designed blocks may be obtained from internal design teams or licensed from other design companies. Moreover, pre-designed blocks may be developed to meet different design requirements and constraints. Many companies and organizations have created entire libraries of component design blocks and other units of electronic design (also referred to in the art as “intellectual property blocks”, “IP blocks”, “IP components”, or “cores”), and have created businesses out of licensing or selling these IP blocks to other companies that use these design blocks to create an electronic product. There exist a large number of companies that supply such IP blocks to customers, and many thousands of such IP blocks available to be integrated into a customer's own design.
One of the significant challenges faced by a modern designer is that, given the large number of potential suppliers of IP blocks, how the designer can best and most efficiently identify which of the suppliers is able to provide an IP block that will suit the needs of the designer for a given design project. This is not a trivial problem given the existence of such a large number of vendors and suppliers of IP blocks and the even larger number of IP blocks that are available for licensing or purchase. The fact that certain hard macros are available on specific, predefined processes adds another layer of complexity in terms of IP selection.